package top.infopub.mgr.mkt.dao;

import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import top.infopub.generic.GenericDao;
import top.infopub.mgr.mkt.domain.RiskDomain;
import top.infopub.mgr.mkt.vo.RiskVo;
import top.infopub.model.mkt.NormalNum;
import top.infopub.model.mkt.ProjectRisk;

import java.util.List;

@Repository
public interface ProjectRiskDao extends GenericDao<ProjectRisk, String> {

    Page<RiskDomain> selectPageByDomain(RiskVo riskVo);

    List<ProjectRisk> selectByProCode(String proCode);

    // 列表数量跳转链接  风险总数
    Page<ProjectRisk> selectByTotalNum(NormalNum normalNum);

    // 列表数量跳转链接  未销项
    Page<ProjectRisk> selectByNormalNum(NormalNum normalNum);

    // 列表数量跳转链接  高风险未销项
    Page<ProjectRisk> selectByHighLevel(NormalNum normalNum);

    // 列表数量跳转链接  中风险未销项
    Page<ProjectRisk> selectByMidLevel(NormalNum normalNum);

    // 列表数量跳转链接  低风险未销项
    Page<ProjectRisk> selectByLowLevel(NormalNum normalNum);

    void deleteByProCode(@Param("proCode") String proCode);

    void insertBatch(@Param("list") List<ProjectRisk> list);

    void updateById(ProjectRisk projectRisk);

    ProjectRisk selectById(String id);

    List<ProjectRisk> selectAllByProCode(String proCode);

    void updateByBatch(List<ProjectRisk> risks);
}
